﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;

namespace TestXNA
{
	class Program : Game
	{
		static void Main(string[] args)
		{
			using (var game1 = new Program())
			{
				game1.Run();
			}
		}

		//Объявляем графический компонент - который будет использоваться для вывода
		GraphicsDeviceManager graphics;

		public Program()
		{
			graphics = new GraphicsDeviceManager(this);
			//настраиваем устройство
			this.graphics.PreferredBackBufferWidth = 800;//Задаем ширину
			this.graphics.PreferredBackBufferHeight = 600;//И высоту

			//перед тем как задавать формат пиксела рекомендуется удостовериться, что 
			//этот форат поддерживает ваша видеокарта
			this.graphics.PreferredBackBufferFormat = SurfaceFormat.Bgr565; //Устанавливаем формат пиксела

			//Задаем режим fullscreen
			this.graphics.IsFullScreen = true;

			this.graphics.ApplyChanges();
		}

		protected override void Update(GameTime gameTime)
		{
			//обновление различных параметров (напр. Использование физики)

			//закрытие приложения по нажатии кнопки ESC
			if (Keyboard.GetState().IsKeyDown(Keys.Escape)) this.Exit();
			else if (Keyboard.GetState().IsKeyDown(Keys.F)) this.graphics.ToggleFullScreen();
		}

		protected override void Draw(GameTime gameTime)
		{
			//рисование

			//Используем графический компонент для очистки в светло-синий цвет
			graphics.GraphicsDevice.Clear(Color.CornflowerBlue);

			//Представляем все на экран
			base.Draw(gameTime);
		}
	}
}
